This page is about an alternative presentation of monads as popular for monads in computer science. For a different notion of “extension system” (that is to a bicategory what a closed category is to a monoidal category) see instead at closed category.
internalization and categorical algebra
algebra object (associative, Lie, …)
The notion of “extension system” (Marmolejo & Wood (2010)), originally called “algebraic theory in extension form” (Manes (1976), p. 32) and previously also referred to as “Kleisli triple” (Moggi (1991), Def. 1.2) is an equivalent way of presenting the structure of a monad (on a category) that does not explicitly refer to composition (“iteration”) of its underlying endofunctor. This is simpler for certain purposes, and in any case more natural for others, notably in the use of monads in computer science. Abstractly, the notion may be understood as specialising the definition of -relative monads to the case where is the identity functor
Specifically, noticing that the endofunctor underlying a monad may be understood as constructing its free algebras, which (lacking relations) tend to be “large” (say as concerns the cardinality of their underlying sets), the iterated application of this endofunctor produces ever larger objects, and some authors have pointed to avoiding this phenomenon as motivation for considering extension systems:
[Marmolejo-Wood 10]: there is an important overarching reason to consider monads in this way. Extension systems allow us to completely dispense with the iterates … of the underlying arrow. No iteration is necessary. A moment’s reflection on the various terms of terms and terms of terms of terms that occur in practical applications suggest that this alone justifies the alternate approach. … we note that extension systems in higher dimensional category theory provide an even more important simplication of monads. For even in dimension 2, some of the tamest examples are built on pseudofunctors that are difficult to iterate.
Major alternative motivation for extension systems comes from their understanding as monads in computer science (Kleisli triples); see there for more.
An extension system (Marmolejo-Wood 2010) on a category consists of
For every morphism in , a morphism (the Kleisli extension of ), satisfying the following axioms:
For every we have ,
For every , we have , and
For every and , we have .
Given these data, we make a functor by , we define multiplication maps as , and we verify that the result is a monad. Conversely, given a monad , we define and check the above axioms. Thus, extension systems are equivalent to monads.
This presentation of a monad is especially convenient for defining the Kleisli category (whence the aternative terminology “Kleisli triple”):
its objects are those of , its morphisms are the morphisms in , and the composite of with is .
It is also possible to define algebras over a monad using this presentation. A -algebra consists of
An object , and
For every morphism , a morphism , such that
For every we have , and
For every and we have .
When is a cartesian closed category, to make a strong monad we simply have to enhance the extension operation to an internal morphism , or equivalently . This morphism is known as “bind” in use of monads in computer science.
The notion appears explicitly in:
and is expanded on considerably in
An earlier appearance in a different guise (“devices”):
The use of extension systems (there called Kleisli triples) as monads in computer science capturing computation with side effects is due to:
This way of presenting a monad is also closely related to continuation-passing style, as described in
Generalization to pseudomonads:
Francisco Marmolejo, Richard J. Wood, Kan extensions and lax idempotent pseudomonads, TAC 26 1 (2012) 1-29 [26-01]
Francisco Marmolejo, Richard J. Wood, No-iteration pseudomonads, TAC 28 14 (2013) 371-402 [tac:28-14]
Last revised on April 6, 2024 at 10:19:34. See the history of this page for a list of all contributions to it.